package com.sinoeyes.compent.service;

import com.sinoeyes.common.result.RCode;
import com.sinoeyes.compent.po.ProductInfo;

import java.util.List;

/**
 * 产品管理Service接口
 *
 * @author aries.hao
 * @date 2019-09-10
 */
public interface IProductInfoService {
    /**
     * 查询产品管理
     *
     * @param id 产品管理ID
     * @return 产品管理
     */
     ProductInfo selectProductInfoById(String id);

    /**
     * 查询产品管理列表
     *
     * @param productInfo 产品管理
     * @return 产品管理集合
     */
     List<ProductInfo> selectProductInfoList(ProductInfo productInfo);

    /**
     * 新增产品管理
     *
     * @param productInfo 产品管理
     * @return 结果
     */
     int insertProductInfo(ProductInfo productInfo);

    /**
     * 修改产品管理
     *
     * @param productInfo 产品管理
     * @return 结果
     */
     int updateProductInfo(ProductInfo productInfo);

    /**
     * 删除产品管理信息
     *
     * @param id 产品管理ID
     * @return 结果
     */
    RCode deleteProductInfoByIds(String id, String strFlag);

    /**
     * 查询产品数量
     *
     * @param id 产品管理ID
     * @return 结果
     */
     int selectProductCount(String id);

    /**
     * 查询全部有效的顶级分类
     *
     * @return 结果 List
     */
    List<ProductInfo> selectParentProducts();

    /**
     * 查询产品数量
     *
     * @param id 需要查询的父级产品ID
     * @return 结果
     */
    List<ProductInfo> selectAllChildrenProduct(String id);
}
